package com.xoms.admin.persist.dao;

import java.util.List;

import com.xoms.admin.model.ProAllotBean;
import com.xoms.admin.model.ProAllotDetailBean;
import com.xoms.admin.model.vo.BatchAllotBean;
import com.xoms.admin.model.vo.ProAllotVo;

public interface ProAllotDao {

	/**
	 * 查询调拨数量
	 * @param key
	 * @param endTime 
	 * @param startTime 
	 * @return
	 */
	int selectCount(String key, String fromId, String toId, String startTime, String endTime);

	/**
	 * 查询调拨单列表
	 * @param key
	 * @param page
	 * @param pageSize
	 * @param startTime
	 * @param endTime
	 * @param storeHouseId
	 * @return
	 */
	List<ProAllotBean> selectList(String key, int page, int pageSize, String fromId, String toId, String startTime, String endTime);

	/**
	 * 查询调拨详情单数量
	 * @param key
	 * @param aid
	 * @return
	 */
	int selectDetailCount(String key, String aid);

	/**
	 * 查询调拨详情单列表
	 * @param key
	 * @param page
	 * @param pageSize
	 * @param aid
	 * @return
	 */
	List<ProAllotDetailBean> selectDetailList(String key, int page, int pageSize, String aid);

	/**
	 * 新建调拨单
	 * @param data
	 * @return
	 */
	int insert(ProAllotBean data);
	
	/**
	 * 更新
	 * @param data
	 * @return
	 */
	int update(ProAllotBean data);

	/**
	 * 根据调拨单id查询调拨详情
	 * @param did
	 * @return
	 */
	int delDetailByAId(String aid);

	/**
	 * 删除调拨单
	 * @param aid
	 * @return
	 */
	int del(String aid);

	/**
	 * 批量插入调拨单详情
	 * @param batch
	 * @return
	 */
	int replaceBatchDetail(List<BatchAllotBean> batch);


	/**
	 * 根据did获取详情信息
	 * @param did
	 * @return
	 */
	ProAllotBean selectOneById(String did);

	/**
	 * 获取当前年份总订单编号
	 * @param type
	 * @return
	 */
	String selectMaxAllotNoInYear(int type);
	
	/**
	 * 根据调拨id获取详情数量
	 * @param aid
	 * @return
	 */
	int selectDetailCountById(String aid);
	
	/**
	 * 获取调拨数量
	 * @param aid
	 * @param i
	 * @return
	 */
	List<ProAllotVo> selectNumberByAidInType(String aid, int type);


}
